package com.wanxi.education.service;

import com.wanxi.education.model.vo.user.PermissionVO;

import java.util.List;
import java.util.Set;

/**
 * @Author: Kang
 * @Date: 2021/9/27 9:35
 * @Description: 权限业务接口
 * @Version: 1.0
 */
public interface PermissionService {

    /**
     * 通过角色ID查询所属权限
     * @param roldIds 可能有多个角色
     * @return
     */
    Set<PermissionVO> findByRoleId(Set<Long> roldIds);

    /**
     * 分页查询权限
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<PermissionVO> findPage(Integer pageNum, Integer pageSize);

    /**
     * 新增权限
     * @param permissionVO
     * @return
     */
    Boolean add(PermissionVO permissionVO);

    /**
     * 通过权限Id，查询权限详情
     * @param permissionId
     * @return
     */
    PermissionVO findByPermissionId(Long permissionId);

    /**
     * 通过权限Id修改权限信息
     * @param permissionVO
     * @return
     */
    Boolean updateById(PermissionVO permissionVO);

    /**
     * 通过权限Ids删除相应权限信息 逻辑删除 0 -> 1
     * @param permissionId
     * @return
     */
    Boolean deleteByPermissionId(Long permissionId);

    List<PermissionVO> findAll();

}
